草庐IT

c++ - 特化 std::make_shared

全部标签

c - 执行从 Windows 服务捕获屏幕截图的程序

我正在编写一个Windows服务,它将管理一些捕获屏幕截图的代理程序。代理程序运行良好,完全没有问题-它只是截取屏幕截图并将其保存到bmp文件中。但是当我尝试从我的服务中执行这个代理程序时-它不起作用,我得到的只是黑色图片(就好像我试图直接从我的服务中捕获屏幕截图一样)我的服务内部代码是:ServiceStatus.dwCurrentState=SERVICE_RUNNING;SetServiceStatus(hStatus,&ServiceStatus);SHELLEXECUTEINFOseInfo;seInfo.cbSize=sizeof(SHELLEXECUTEINFO);seI

c - 如何将 Windows 中的简单程序与 Mingw GCC 链接

我有一个简单的“HelloWorld!”c程序,在我的桌面上名为hello.c:#includeintmain(){printf("Helloworld!\n");return0;}我运行以下命令。我使用以下方法对其进行预处理:cpphello.c>hello.i我编译它:gcc-Shello.i我将其组装为:as-ohello.ohello.s到目前为止一切都很好。但是,我无法链接它。除了其他命令外,我已经尝试过这些:ld-ohello.exehello.old-ohello.exehello.o-lgccld-ohello.exehello.o-nostdlib-lgcc没有任何作

windows - 未找到 cygwin make,但已安装

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我确实从Devel安装了“make”包,我可以在C:\cygwin64\bin中看到.exe文件但是我还是明白了:make:C:/程序:找不到命令

python - PyThreadState_GET() 从 PyImport_GetModuleDict() 中返回 NULL

我正在使用Python3.6在Windows上工作。我有以下用于测试python解释器的简单嵌入代码:Py_SetProgramName(L"MyApp");Py_SetPath(L"C:\\Users\\rutski\\Documents\\python\\PCBuild\\amd64\\python36.zip;"L"C:\\Users\\rutski\\Documents\\python\\DLLs;"L"C:\\Users\\rutski\\Documents\\python\\lib;"L"C:\\Users\\rutski\\Documents\\python\\PCBui

c - 在 C 中调用函数时出现段错误

所以我正在构建一个虚拟机,并试图让它尽可能跨平台,突然遇到一个奇怪的错误。我的机器有一个let指令,它为机器内存中的一个变量分配内存,并为该变量赋值。简而言之,let函数调用getAddress来获取变量的地址。getAddress检查变量是否已定义,并返回地址。如果变量没有定义,getAddress调用memallocate为变量分配内存,并返回地址。这是函数的定义:staticuint16_tmemallocate(Machine*m,char*symbol){uint16_tallocationAddress=getFirstFree(*m);SymbolTable*newSym

c++ - Clion 的 "Call to std::pair is ambiguous"但可以编译代码

我有一个函数可以在这种状态下编译,但给出“配对调用不明确”,但仅在ClionIDE中,编译没有问题,如果我添加任何随机的东西,警告就会消失,即使它最终导致编译器错误。std::pair>Config::foo(conststd::string&sec,conststd::string&key)const{returnstd::pair>(hasSection(sec)?(hasKey(sec,key)?Status::Success:Status::MissingKey):Status::MissingSec,hasKey(sec,key)?config_map.find(sec)->

c -/vs.\in CMD 和 C 系统函数中可执行文件的相对路径

考虑以下Windows10上的CMDsession,以#开头的行是注释:#WehavethissimpleprogramD:\testdir>typeprg.c#includeintmain(){printf("Helloprg");return0;}#Thisis"realgcc.exe(Rev2,BuiltbyMSYS2project)6.2.0"D:\testdir>gccprg.c-oprgD:\testdir>prg.exeHelloprgD:\testdir>mddirD:\testdir>cddirD:\testdir\dir>..\prg.exeHelloprg#Thi

c - Windows - 如何清理进程异常终止留下的共享内存对象?

我遇到了一个问题,进程异常终止,因此一些共享资源(BaseNamedObjects)未被进程释放。CreateFileMapping函数返回ERROR_ALREADY_EXISTS表示共享内存已经存在。通过CreateFileMapping获取ERROR_ALREADY_EXISTS后返回一个句柄。所以我有以下与上述情况相关的查询:我们可以使用这个返回的句柄执行清理吗?我们可以使用CreateFileMapping返回的句柄吗?如何清理这样的共享内存对象? 最佳答案 返回的句柄对您继续使用是完全有效的,使用完毕后请关闭该句柄。但是,

c - C Windows 中的单 channel 隧道互斥锁示例

我正在尝试解决经典的“单channel隧道”信号量/互斥量问题。这是我写的代码,但它不起作用,我不明白为什么。理论上,只有当隧道已经被同向行驶的汽车占用时,来自相反方向的汽车才应该穿过,否则它们应该等待,输出应该是这样的:car1_leftToRightcrossingcar2_leftToRightcrossingcar1_leftToRightendcrossingcar2_leftToRightendcrossing(ALLcarsleftToRighthavecrossed)car1_rightToLeftstartcrossingetc..但我当前的输出是您可以在我附上的图片

c - 我应该在 DLL 导出函数上使用 __stdcall 吗?

我正在使用mingw-w64在C中编写一个小的DLL,它应该可以被VB.net程序调用。唯一的导出是参数和返回类型为原始类型的函数。我应该在dllexport函数上使用__stdcall吗?在网上搜索时,我看到了使用和不使用它的示例。讨论了它如何影响名称装饰,但没有关于这是否是一件好事以及对我的DLL的可用性有何影响的建议。 最佳答案 除非您需要调用以这种方式定义的现有接口(interface),否则确实没有充分的理由在任何地方使用非默认调用约定/ABI(__stdcall或其他方式)。这只是无缘无故的丑陋。它对现有Windows的